package com.learner.course.service;

import com.learner.pojo.course.CourseBase;
import com.learner.pojo.course.expand.CourseQueryVo;
import com.learner.pojo.course.expand.CourseView;
import com.learner.pojo.page.PageResult;
import com.learner.pojo.page.PageVariable;
import com.learner.pojo.trade.dto.CourseDto;
import org.springframework.http.ResponseEntity;

import java.util.List;
import java.util.Map;

/**
* @author ice2020x
* @Date: 2023/3/10
* @Description:
**/
public interface CourseService {

    /**
     * 课程视图，包括课程的全部信息（基础信息，课程计划，课程营销，图片等）
     *
     * @param id 课程id
     * @return 结果
     */
    CourseView courseView(String id);


    /**
     * 课程发布（如果课程视图预览的信息没什么问题，则点击发布）
     *
     * @param id 课程id
     */
    void publicCourse(String id);

    /**
     * 根据条件查询课程视图列表
     *
     * @param courseQueryVo 参数
     * @return 结果
     */
    PageResult<CourseView> findAllByCondition( CourseQueryVo courseQueryVo);


    /**
     * 提供给订单服务（根据id查询课程信息）
     *
     * @param id 课程id
     * @return 结果
     */
    CourseDto getCourseDtoById(String id);
    /**
     * 根据大分类获取课程信息
     *
     * @param mt 大分类
     * @return 结果
     */
    List<CourseBase> getCourseInfoByMt(String mt);
}
